
<!DOCTYPE html>
<!--[if IEMobile 7 ]><html class="no-js iem7"><![endif]-->
<!--[if lt IE 9]><html class="no-js lte-ie8"><![endif]-->
<!--[if (gt IE 8)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js"><!--<![endif]-->
<head>
  <meta charset="utf-8">
  <title>
    
  XRebel 使用详解 - LZH-DEV-TECH-SHARE
  

  </title>
  <meta name="author" content="">
  <meta name="description" content="">

  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <link href="asset/css/screen.css" media="screen, projection" rel="stylesheet" type="text/css">
  <link href="atom.xml" rel="alternate" title="LZH-DEV-TECH-SHARE" type="application/atom+xml">
  <script src="asset/js/modernizr-2.0.js"></script>
  <script src="asset/js/jquery.min.js"></script>
  <script src="asset/highlightjs/highlight.pack.js"></script>
  <link href="asset/highlightjs/styles/solarized_light.css" media="screen, projection" rel="stylesheet" type="text/css">
  <script>hljs.initHighlightingOnLoad();</script>

  <style type="text/css">
  .cat-children-p{ padding: 6px 0px;}
  .hljs{background: none;}
  </style>
  <script type="text/javascript">
  var isAddSildbar = true;
  </script>
  <script src="asset/js/octopress.js" type="text/javascript"></script>
</head>
<script type="text/javascript">
//链接新开窗口
function addBlankTargetForLinks () {
  $('a[href^="http"]').each(function(){
      $(this).attr('target', '_blank');
  });
}
$(document).ready(function(event) {
  addBlankTargetForLinks();
});
</script>
<body   >
  <header role="banner"><hgroup>
  <h1><a href="index.html">LZH-DEV-TECH-SHARE</a></h1>
  
    <h2></h2>
  
</hgroup>

</header>
  <nav role="navigation"><ul class="subscription" data-subscription="rss">
  <li><a href="atom.xml" rel="subscribe-rss" title="subscribe via RSS">RSS</a></li>
  
</ul>
  
<form action="http://google.com/search" method="get">
  <fieldset role="search">
    <input type="hidden" name="q" value="site:" />
    <input class="search" type="text" name="q" results="0" placeholder="Search"/>
  </fieldset>
</form>
  
<ul class="main-navigation">

  <li id=""><a target="self" href="index.html">Home</a></li>

  <li id=""><a target="_self" href="archives.html">Archives</a></li>

</ul>

</nav>
  <div id="main">
    <div id="content"> 
<div>
	<article class="hentry" role="article">
	<header>
			  	<h1 class="entry-title">XRebel 使用详解</h1>
				<p class="meta"><time datetime="2018-10-10T20:24:36+08:00" pubdate data-updated="true">2018/10/10</time></p>
			 </header>
		  	<div class="entry-content">
			  	<ul>
<li>
<a href="#toc_0">前言</a>
<ul>
<li>
<a href="#toc_1">什么是XRebel</a>
</li>
<li>
<a href="#toc_2">如何下载XRebel</a>
</li>
<li>
<a href="#toc_3">如何安装XRebel</a>
</li>
<li>
<a href="#toc_4">如何使用</a>
</li>
</ul>
</li>
<li>
<a href="#toc_5">结语</a>
</li>
</ul>


<h2 id="toc_0">前言</h2>

<p>你有没有遇到过项目打开, 一直转圈的情况, 有没有遇到过追究责任前后端开发相互扯皮, 推卸责任的情况, 有没有遇到过项目性能不理想, 却手足无措的情况, 那么XRebel正是你需要的好东西.</p>

<h3 id="toc_1">什么是XRebel</h3>

<p>XRebel 是不间断运行在 web 应用的交互式分析器，当发现问题会在浏览器中显示警告信息。XRebel 会实时监测应用代码的性能指标和可能会发生的问题。</p>

<h3 id="toc_2">如何下载XRebel</h3>

<p>地址: <a href="http://zeroturnaround.com/software/xrebel/download/">http://zeroturnaround.com/software/xrebel/download/</a></p>

<h3 id="toc_3">如何安装XRebel</h3>

<p>只需要解压下载到本地的zip压缩文件即可, 解压后的文件夹内容如图:<br/>
<img src="media/15391742760274/15391749868448.jpg" alt=""/><br/>
注意其中的xrebel.jar<br/>
真正带来魔法的, 就是这个xrebel.jar文件</p>

<h3 id="toc_4">如何使用</h3>

<p>XRebel的使用, 使用的是java代理的方式, 实际是JVM代理, 只需要添加JVM参数即可, 这意味着, 不论你是什么样的java项目, 基于servlet+jsp的web应用也好, 还是jar包(例如: spring-boot项目)项目也好, 我们都是可以使用XRebel进行性能分析和问题监控的.</p>

<p>那么接下来我们以 IDEA + Spring-boot 项目为例, 来演示如何使用.</p>

<ul>
<li><p>首先配置一个Run-configuration:<br/>
<img src="media/15391742760274/15391752470216.jpg" alt=""/></p></li>
<li><p>然后在VM options: 中添加如下内容:<br/>
-javaagent:/Users/lucas/Java-lib/maven/xrebel/xrebel.jar<br/>
我们可以清楚的看到, 使用的是JVM代理, 后边要清楚的指明之前解压出来的xrebel.jar的位置.<br/>
如图:<br/>
<img src="media/15391742760274/15391753777547.jpg" alt=""/></p></li>
<li><p>随后我们运行起来项目, 只需要点击IDEA右上角的运行图标即可</p></li>
<li><p>在上一步骤的启动日志中, 可以看到XRebel UI的访问地址:<br/>
<img src="media/15391742760274/15391757236003.jpg" alt=""/><br/>
即: <a href="http://18.18.18.112:8080/xrebel">http://18.18.18.112:8080/xrebel</a></p></li>
<li><p>这时我们访问一个开启的服务的http服务接口, 这里以postman为例:<br/>
<img src="media/15391742760274/15391756059044.jpg" alt=""/></p></li>
<li><p>这时我们就可以在XRebel UI的页面, 看到详细的接口分析内容了:<br/>
<img src="media/15391742760274/15391758462364.jpg" alt=""/><br/>
可以看到里面详细的列出的请求执行的堆栈信息, 以及每一步的执行时间, 还有每个sql的执行时间.<br/>
通过这些信息足够我们做性能分析了.</p></li>
<li><p>尤其是sql语句的完整输出, 以及执行时间的详细信息, 能给我们关注这个性能点, 带来很大的方便:<br/>
<img src="media/15391742760274/15391760173058.jpg" alt=""/></p></li>
</ul>

<h2 id="toc_5">结语</h2>

<p>以上就是本次分享的内容, 是不是已经迫不及待想要尝试一把了~</p>

			</div>

		
	  
		<footer>
		 <p class="meta">

			<strong>Categories:</strong>&nbsp; 
			<span class="categories">
			
			    <a class='category' href='back-end.html'>back-end</a>&nbsp;
			 
			</span>
		    </p>
		    <p class="meta">
		      
		 </p>
	    
		<div class="sharing">
		  
          

          

		</div>

	    <p class="meta">
	    
	        <a class="basic-alignment left" href="15397707900555.html" 
	        title="Previous Post: Markdown简明语法教程">&laquo; Markdown简明语法教程</a>
	    
	    
	        <a class="basic-alignment right" href="15390848111879.html" 
	        title="Next Post: koa-cache-control 中间件使用详解">koa-cache-control 中间件使用详解 &raquo;</a>
	    
	    </p>
	  </footer>
	</article>
</div>
 <aside class="sidebar"> 

	<section>
	  <h1>Categories</h1>
	  <ul id="recent_posts">
	  
	      <li class="post">
	        <a href="version-control.html"><strong>version-control&nbsp;(2)</strong></a>
	        
	        
	        
	      </li>
	  
	      <li class="post">
	        <a href="shell.html"><strong>shell&nbsp;(1)</strong></a>
	        
	        
	        
	      </li>
	  
	      <li class="post">
	        <a href="back-end.html"><strong>back-end&nbsp;(4)</strong></a>
	        
	        
	        
	      </li>
	  
	      <li class="post">
	        <a href="front-end.html"><strong>front-end&nbsp;(5)</strong></a>
	        
	        
	        
	      </li>
	  
	      <li class="post">
	        <a href="version-control-1.html"><strong>version-control&nbsp;(1)</strong></a>
	        
	        
	        
	      </li>
	  
	      <li class="post">
	        <a href="other.html"><strong>other&nbsp;(2)</strong></a>
	        
	        
	        
	      </li>
	   
	  </ul>
	</section>
	<section>
	  <h1>Recent Posts</h1>
	  <ul id="recent_posts">
	  
	      
		      <li class="post">
		        <a href="15413898294420.html">RESTful API 最佳实践</a>
		      </li>
	     
	  
	      
		      <li class="post">
		        <a href="15411425055347.html">LZH-DEV-GROUP Git Workflow 实践详解</a>
		      </li>
	     
	  
	      
		      <li class="post">
		        <a href="15410718240579.html">如何使用PM2进程管理器, 守护java进程</a>
		      </li>
	     
	  
	      
		      <li class="post">
		        <a href="15408811446857.html">一篇文章搞定 centos7 上的 mysql 安装</a>
		      </li>
	     
	  
	      
		      <li class="post">
		        <a href="15408703788547.html">一篇文章搞定 centos7 下安装 nvm和node</a>
		      </li>
	     
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	  
	      
	   
	  </ul>
	</section>
	
</aside> </div></div>
  <footer role="contentinfo"><p>
  Copyright &copy; 2014 -  -
  <span class="credit">Powered by <a target="_blank" href="http://www.mweb.im">MWeb</a> &nbsp;&nbsp; Theme by <a href="http://octopress.org">Octopress</a></span>
</p>

</footer>

  
    




</body>
</html>